home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / xwsh.z / xwsh
Text File  |  1998-10-20  |  94KB  |  1,717 lines

  1.  
  2.  
  3.  
  4. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      xwsh - creates and specifies a window shell
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      xxxxwwwwsssshhhh [ ----aaaannnncccchhhhoooorrrr anchor-point ] [ ----aaaauuuuttttooooffffoooorrrrkkkk ] [ ----bbbbgggg color ]
  13.           [ ----bbbbiiiinnnnddddkkkkeeeeyyyy2222ddddccccssss ] [ ----bbbboooolllldddd color ] [ ----bbbboooollllddddffffoooonnnntttt font ]
  14.           [ ----bbbboooollllddddiiiittttaaaalllliiiiccccffffoooonnnntttt font ] [ ----cccccccc string ] [ ----ccccoooonnnnssssoooolllleeee ]
  15.           [ ----ccccuuuurrrrssssoooorrrrbbbbgggg color ] [ ----ccccuuuurrrrssssoooorrrrffffgggg color ] [ ----ddddiiiissssppppllllaaaayyyy display ]
  16.           [ ----eeee cmd [ args ] ] [ ----ffffgggg color ] [ ----ffffnnnn font ] [ ----ggggeeeeoooommmm geometry-
  17.           string ] [ ----hhhheeeellllpppp ] [ ----hhhhiiiigggghhhhlllliiiigggghhhhttttUUUURRRRLLLL ] [ ----hhhhoooolllldddd ] [ ----hhhhoooollllddddoooonnnneeeerrrrrrrroooorrrr ]
  18.           [ ----iiiibbbbmmmm ] [ ----iiiiccccoooonnnniiiicccc ] [ ----iiiiccccoooonnnnttttiiiittttlllleeee icon-title ] [ ----iiiittttaaaalllliiiiccccffffoooonnnntttt font ]
  19.           [ ----kkkkeeeeyyyymmmmaaaapppp file ] [ ----lllloooogggg file ] [ ----mmmmaaaaxxxx COLSxxxxLINES ]
  20.           [ ----mmmmiiiinnnn COLSxxxxLINES ] [ ----nnnnaaaammmmeeee instance-name ] [ ----nnnnoooobbbbiiiinnnnddddkkkkeeeeyyyy2222ddddccccssss ]
  21.           [ ----nnnnooookkkkeeeeyyyybbbbooooaaaarrrrdddd ] [ ----nnnnoooommmmeeeennnnuuuu ] [ ----nnnnoooossssccccrrrroooollllllllbbbbaaaarrrr ] [ ----nnnnoooosssseeeennnndddd ]
  22.           [ ----rrrreeeeddddiiiirrrreeeecccctttt device ] [ ----sssseeeellllbbbbgggg color ] [ ----sssseeeellllffffgggg color ]
  23.           [ ----ssssllll retainlimit ] [ ----ttttiiiittttlllleeee title ] [ ----ttttrrrraaaannnnssssiiiieeeennnntttt window ] [ ----uuuutttt ]
  24.           [ ----vvvvbbbb ] [ ----vvvvtttt111100000000 ] [ ----xxxxrrrrmmmm resource-string ]
  25.  
  26. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  27.      _x_w_s_h is a terminal emulation program that runs a login shell (or other
  28.      UNIX command) within its own window on the screen.
  29.  
  30.      Command line options are available to specify the font, window size,
  31.      title, and  position when _x_w_s_h starts up.  The command line options are:
  32.  
  33.      ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r-_p_o_i_n_t
  34.              Set the anchor point for window size changes.  When the window
  35.              size is changed from the size menu, xwsh needs to define which
  36.              corner of the window is anchored down during the size change.
  37.              xwsh attempts to keep the anchor point constant across the size
  38.              change.  Legal values are nnnnoooorrrrtttthhhhwwwweeeesssstttt, nnnnoooorrrrtttthhhh, nnnnoooorrrrtttthhhheeeeaaaasssstttt, eeeeaaaasssstttt,
  39.              ssssoooouuuutttthhhheeeeaaaasssstttt, ssssoooouuuutttthhhh, ssssoooouuuutttthhhhwwwweeeesssstttt, wwwweeeesssstttt, cccceeeennnntttteeeerrrr, and ssssttttaaaattttiiiicccc.
  40.  
  41.      ----aaaauuuuttttooooffffoooorrrrkkkk
  42.              Make _x_w_s_h run in the background.
  43.  
  44.      ----bbbbgggg _c_o_l_o_r
  45.              Set the background (page) color.
  46.  
  47.      ----bbbbiiiinnnnddddkkkkeeeeyyyy2222ddddccccssss
  48.              Enable key bindings to device control strings and internal xwsh
  49.              functions.  Unless explicitly enabled, xwsh will no longer bind
  50.              keys to control strings (see DCS codes 101 and 103 below).
  51.  
  52.      ----bbbboooolllldddd _c_o_l_o_r
  53.              Set the bold text color.  This color is used when ansi SGR bold
  54.              is done.
  55.  
  56.      ----bbbboooollllddddffffoooonnnntttt _f_o_n_t
  57.              Define the bold font.  The bold font is used when the ansi SGR
  58.              bold is done.  Note that both a color and a font can be chosen
  59.              and that both will apply.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  71.  
  72.  
  73.  
  74.      ----bbbboooollllddddiiiittttaaaalllliiiiccccffffoooonnnntttt _f_o_n_t
  75.              Define the bold italic font.  When both ansi SGR bold and ansi
  76.              SGR italic are done this font is used.
  77.  
  78.      ----cccccccc _s_t_r_i_n_g
  79.              Change the character class table using _s_t_r_i_n_g.  _S_t_r_i_n_g is
  80.              composed of zero or more comma separated "range:value"
  81.              substrings.  _r_a_n_g_e can be either a single number or a pair of "-"
  82.              separated numbers.  When a single number is specified a single
  83.              characters class is set to the _v_a_l_u_e.  When a _r_a_n_g_e is specified,
  84.              all the characters inclusively in the range are have their class
  85.              set to _v_a_l_u_e.  The character class is used by the double click
  86.              logic to determine what is similar and what is different.
  87.              Characters that share the same character class are considered
  88.              similar.  The initial character class table contains the
  89.              following values:
  90.  
  91.                     32,   1,   1,   1,   1,   1,   1,   1,
  92.                      1,  32,   1,   1,   1,   1,   1,   1,
  93.                      1,   1,   1,   1,   1,   1,   1,   1,
  94.                      1,   1,   1,   1,   1,   1,   1,   1,
  95.                     32,  33,  34,  35,  36,  37,  38,  39,
  96.                     40,  41,  42,  43,  44,  45,  46,  47,
  97.                     48,  48,  48,  48,  48,  48,  48,  48,
  98.                     48,  48,  58,  59,  60,  61,  62,  63,
  99.                     64,  48,  48,  48,  48,  48,  48,  48,
  100.                     48,  48,  48,  48,  48,  48,  48,  48,
  101.                     48,  48,  48,  48,  48,  48,  48,  48,
  102.                     48,  48,  48,  91,  92,  93,  94,  48,
  103.                     96,  48,  48,  48,  48,  48,  48,  48,
  104.                     48,  48,  48,  48,  48,  48,  48,  48,
  105.                     48,  48,  48,  48,  48,  48,  48,  48,
  106.                     48,  48,  48, 123, 124, 125, 126,   1,
  107.                    128, 129, 130, 131, 132, 133, 134, 135,
  108.                    136, 137, 138, 139, 140, 141, 142, 143,
  109.                    144, 145, 146, 147, 148, 149, 150, 151,
  110.                    152, 153, 154, 155, 156, 157, 158, 159,
  111.                    160, 161, 162, 163, 164, 165, 166, 167,
  112.                    168, 169, 170, 171, 172, 173, 174, 175,
  113.                    176, 177, 178, 179, 180, 181, 182, 183,
  114.                    184, 185, 186, 187, 188, 189, 190, 191,
  115.                     48,  48,  48,  48,  48,  48,  48,  48,
  116.                     48,  48,  48,  48,  48,  48,  48,  48,
  117.                     48,  48,  48,  48,  48,  48,  48,  48,
  118.                     48,  48,  48,  48,  48,  48,  48, 223,
  119.                     48,  48,  48,  48,  48,  48,  48,  48,
  120.                     48,  48,  48,  48,  48,  48,  48,  48,
  121.                     48,  48,  48,  48,  48,  48,  48, 247,
  122.                    248,  48,  48,  48,  48,  48,  48,  48
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  137.  
  138.  
  139.  
  140.      ----ccccoooonnnnssssoooolllleeee
  141.              Make this xwsh the console.  All this does is issue the TIOCCONS
  142.              ioctl in the child process on the pty.  If it succeeds then the
  143.              xwsh will manage console output and input.  If it fails, a
  144.              warning will appear in the first line of the xwsh.
  145.  
  146.      ----ccccuuuurrrrssssoooorrrrbbbbgggg _c_o_l_o_r
  147.              Set the cursor background color.
  148.  
  149.      ----ccccuuuurrrrssssoooorrrrffffgggg _c_o_l_o_r
  150.              Set the cursor foreground color.  This the color that the
  151.              character under the cursor (if any) will be rendered in.
  152.  
  153.      ----ddddiiiissssppppllllaaaayyyy _d_i_s_p_l_a_y
  154.              Define which display xwsh will display to.
  155.  
  156.      ----eeee _c_m_d [_a_r_g_s]
  157.              Execute a child program within the _x_w_s_h window, using the
  158.              specified command line arguments, rather than the default login
  159.              shell (determined from the password database).  The ----eeee option
  160.              will pass all trailing arguments to _x_w_s_h , to be executed as a
  161.              command line. Thus, if ----eeee is given, it must appear as the final
  162.              _x_w_s_h option.  In order to determine what state the tty should
  163.              have _x_w_s_h will examine the file $_H_O_M_E/._w_s_h_t_t_y_m_o_d_e.  This file
  164.              should be created using the output of _s_t_t_y -_g.  If the file
  165.              doesn't exist, or if the file contains improper information, _x_w_s_h
  166.              will use the system defaults for the tty state.
  167.  
  168.      ----ffffgggg _c_o_l_o_r
  169.              Set the foreground (text) color.
  170.  
  171.      ----ffffnnnn _f_o_n_t
  172.              Set the primary rendition font.  Note that different fonts can be
  173.              used for bold, italic and bold-italic renditions.  See ansi SGR
  174.              below in the section on escape sequences.  If a proportional
  175.              width font is chosen xwsh will still function as a terminal
  176.              emulator.  The characters will be positioned based on their
  177.              natural widths, but the right margin will remain at the number of
  178.              columns being emulated (usually 80).  This means that a line may
  179.              wrap _b_e_f_o_r_e or _a_f_t_e_r the right edge of the window is reached.
  180.  
  181.      ----ggggeeeeoooommmmeeeettttrrrryyyy _g_e_o_m_e_t_r_y-_s_t_r_i_n_g
  182.              This option provides xwsh with an X compatible geometry
  183.              specification.  If the geometry-string includes x and y
  184.              coordinates, then xwsh will automatically set the anchor point
  185.              (see the -anchor option for more information).  This option will
  186.              not be propagated via a _c_l_o_n_e.
  187.  
  188.      ----hhhheeeellllpppp   Print out a concise description of the command line options to
  189.              xwsh.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  203.  
  204.  
  205.  
  206.      ----hhhhoooolllldddd   Hold _x_w_s_h after its child program has exited, to permit viewing
  207.              its output.  See ----hhhhoooollllddddoooonnnneeeerrrrrrrroooorrrr for a more useful variation.
  208.              Keyboard input is no longer accepted once the child process that
  209.              xwsh is managing exits.
  210.  
  211.      ----hhhhiiiigggghhhhlllliiiigggghhhhttttUUUURRRRLLLL
  212.              Cause _x_w_s_h to highlight any URLs it detects in the stream of text
  213.              that it prints. See below for more details about XWsh and URLs.
  214.              This option is off by default.
  215.  
  216.      ----hhhhoooollllddddoooonnnneeeerrrrrrrroooorrrr
  217.              Inform _x_w_s_h that it should hold the display when the command
  218.              exits, if and only if the command exits with an error.  Keyboard
  219.              input is no longer accepted once the child process that xwsh is
  220.              managing exits.
  221.  
  222.      ----iiiibbbbmmmm    Tell xwsh to use rebind the keyboard to look as much like an IBM
  223.              rt keyboard as possible.  This is the default mode.
  224.  
  225.      ----iiiiccccoooonnnniiiicccc Start up _x_w_s_h in an iconic form.
  226.  
  227.      ----iiiiccccoooonnnnttttiiiittttlllleeee _s_t_r_i_n_g
  228.              Define the icon title for the xwsh window.  The icon title can be
  229.              set separately from the window title using this option.
  230.  
  231.      ----iiiittttaaaalllliiiiccccffffoooonnnntttt _f_o_n_t
  232.              Define the italic font.  The italic font is used when the ansi
  233.              SGR italic is done.
  234.  
  235.      ----kkkkeeeeyyyymmmmaaaapppp _f_i_l_e
  236.              Define a key map file for the xwsh window.  See the section below
  237.              on key maps.
  238.  
  239.      ----lllloooogggg _f_i_l_e
  240.              Have _x_w_s_h log the output of the child program into _f_i_l_e.
  241.  
  242.      ----mmmmaaaaxxxx _C_O_L_Sxxxx_L_I_N_E_S
  243.              Set the maximum window size, as the number of columns wide by the
  244.              number of lines high.  There is no default maximum window size.
  245.              Note that the xxxx is literal.  For example, 88880000xxxx44440000 would limit xwsh
  246.              to a maximum of 80 columns and 40 rows.
  247.  
  248.      ----mmmmiiiinnnn _C_O_L_Sxxxx_L_I_N_E_S
  249.              Set the minimum window size, as the number of columns wide by the
  250.              number of lines high.  There is no default minimum window size.
  251.              Note that the xxxx is literal.  For example, 88880000xxxx11110000 would limit xwsh
  252.              to a minimum of 80 columns and 10 rows.
  253.  
  254.      ----nnnnaaaammmmeeee _i_n_s_t_a_n_c_e-_n_a_m_e
  255.              Provide a unique name for an _x_w_s_h window.  This name becomes the
  256.              instance name of the specific xwsh, with the class name always
  257.              being "XWsh".
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  269.  
  270.  
  271.  
  272.      ----nnnnoooobbbbiiiinnnnddddkkkkeeeeyyyy2222ddddccccssss
  273.              Disallow binding of keys to device control strings (see DCS codes
  274.              101 and 103 below).
  275.  
  276.      ----nnnnooookkkkeeeeyyyybbbbooooaaaarrrrdddd
  277.              Run _x_w_s_h without a keyboard.  Any data received from the main
  278.              keyboard is ignored.  Use this when you need an output only _x_w_s_h.
  279.  
  280.      ----nnnnoooommmmeeeennnnuuuu Disable the menu.  No menu will appear, thus disabling font and
  281.              size changes for xwsh.
  282.  
  283.      ----nnnnoooossssccccrrrroooollllllllbbbbaaaarrrr
  284.              Disable the scroll bar in xwsh.  No scroll bar will be made
  285.              visible, though more than a windows full of data may be retained
  286.              with the ----ssssllll option.  By using local key bindings the data may
  287.              still be viewed.
  288.  
  289.      ----nnnnoooosssseeeennnndddd Disable the middle-pointer _s_e_n_d feature.
  290.  
  291.      ----rrrreeeeddddiiiirrrreeeecccctttt _d_e_v_i_c_e
  292.              Provide an alternate (redirect) output device.  When _x_w_s_h
  293.              receives a "toggle-redirect" command from a locally bound
  294.              function key, the output of the _x_w_s_h is redirected to the given
  295.              device.
  296.  
  297.      ----sssseeeellllbbbbgggg _c_o_l_o_r
  298.              Set the selection background (page) color.
  299.  
  300.      ----sssseeeellllffffgggg _c_o_l_o_r
  301.              Set the selection foreground color.  This the color that
  302.              characters in the selection will be rendered in.
  303.  
  304.      ----ssssllll _r_e_t_a_i_n_l_i_m_i_t
  305.              set the number of _l_i_n_e_s of text retained by _x_w_s_h. Using the
  306.              scroll bar one can view all of the lines retained by _x_w_s_h. New
  307.              lines entered by _x_w_s_h are retained up to the limit specified by
  308.              _l_i_n_e_s; after this, lines are deleted from the ``top'' of the list
  309.              of lines.  Setting _l_i_n_e_s to zero eliminates the scroll bar.  The
  310.              default value is 1000.
  311.  
  312.      ----ttttiiiittttlllleeee _t_i_t_l_e
  313.              Set the title of the window to _t_i_t_l_e.
  314.  
  315.      ----ttttrrrraaaannnnssssiiiieeeennnntttt _w_i_n_d_o_w
  316.              Make xwsh a transient for window.  If window is "root" then xwsh
  317.              becomes a transient for the root window on the given display.
  318.  
  319.      ----uuuutttt     Tell xwsh not to write records into the system log files
  320.              ////eeeettttcccc////uuuuttttmmmmpppp and ////eeeettttcccc////wwwwttttmmmmpppp....
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  335.  
  336.  
  337.  
  338.      ----vvvvbbbb     Tell xwsh to use a visual bell whenever it receives octal 7.  The
  339.              default behavior is to ask X to ring the bell.
  340.  
  341.      ----vvvvtttt111100000000  Make xwsh run as a vt100 terminal emulator.  Normally, xwsh
  342.              emulates the "iris-ansi" terminal, which is almost a vt100.  This
  343.              switch makes a few minor changes to the emulation for a majority
  344.              of vt100 compatibility.  Most everything is supported, with the
  345.              exception of double width and double height characters.  The -fn,
  346.              -boldfont, -italicfont and -bolditalicfont options (and
  347.              resources) are ignored when -vt100 mode is enabled.  To change
  348.              the particular font use the ddddeeeeccccAAAAsssscccciiiiiiiiFFFFoooonnnntttt and ddddeeeeccccGGGGrrrraaaapppphhhhiiiiccccssssFFFFoooonnnntttt
  349.              resources (see -xrm, below).
  350.  
  351.              When in alternate key pad mode (ESC =), the special function keys
  352.              F9-F12 on the IRIS keyboard emulate the keys PF1-PF4 on a VT100
  353.              keyboard. (ESC P, ESC Q, ESC R, ESC S).
  354.  
  355.      ----xxxxrrrrmmmm _r_e_s_o_u_r_c_e-_s_t_r_i_n_g
  356.              Define a resource value in the command line.  See the resource
  357.              section below for a list of xwsh's available resources.
  358.  
  359.      When you log on to a remote system, use vt100 if no iris-ansi entry
  360.      exists in the terminfo or termcap file.  You probably need to set the
  361.      _x_w_s_h terminal size to 80,24 and run xwsh with the -vt100 option for this
  362.      to work properly.
  363.  
  364.      When you use _v_i, _e_m_a_c_s, or other visual-mode programs remotely, you must
  365.      size the terminal window to match the terminal size referenced by the
  366.      current $TERM environment variable.  Some systems (including IRIX)
  367.      support the ability to query the terminal size, and if this is the case,
  368.      xwsh should work correctly regardless of its size.
  369.  
  370.      When in alternate key pad mode (ESC =), the special function keys F9-F12
  371.      on the IRIS keyboard emulate the keys PF1-PF4 on a VT100 keyboard. (ESC
  372.      P, ESC Q, ESC R, ESC S).
  373.  
  374. KKKKEEEEYYYY BBBBIIIINNNNDDDDIIIINNNNGGGG
  375.      _x_w_s_h supports limited key binding through the _b_i_n_d_k_e_y(1) command.  See
  376.      the _b_i_n_d_k_e_y man page for details.
  377.  
  378. KKKKEEEEYYYY MMMMAAAAPPPPPPPPIIIINNNNGGGG
  379.      To provide for highly customized keyboard xwsh supports key mapping.  Key
  380.      mapping provides a two tier mapping system.  At the bottom level is the
  381.      keysym rebinding supported by Xlib (see _X_R_e_b_i_n_d_K_e_y_s_y_m(3X) for details).
  382.      The top level bindings are independent of the Xlib bindings, but take
  383.      precedence over them.  The keyboard input translation first checks the
  384.      input keysym (as returned by _X_L_o_o_k_u_p_S_t_r_i_n_g(3X)) against the top level
  385.      bindings.  If a binding for the keysym exists and the modifiers match or
  386.      are ignored (by using the aaaannnnyyyy modifier) then the top level binding is
  387.      used.  The top level binding will either generate a string whose output
  388.      is sent to the underlying shell or the binding will invoke a function
  389.      internal to xwsh.  If no top level binding exists then the string
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  401.  
  402.  
  403.  
  404.      returned from _X_L_o_o_k_u_p_S_t_r_i_n_g(3X) is used.
  405.  
  406.      When the keyboard is in IBM rt mode three modifications to the above
  407.      process are done.  First, at start up the keyboard is rebound using
  408.      _X_R_e_b_i_n_d_K_e_y_s_y_m to closely match the IBM rt definitions (this is what
  409.      previous IRIX releases used).  Second, when a key press occurs the
  410.      modifier state is prioritized such that no chording of modifiers is
  411.      allowed (Alt is highest priority, Control is next, Shift is lowest).
  412.      Finally, if the decoded keysym has no top level binding and its the PPPPaaaauuuusssseeee
  413.      key and the user has pressed the CCCCoooonnnnttttrrrroooollll modifier then a break function
  414.      is performed on the tty.
  415.  
  416.      Here is the syntax for the key mappings:
  417.           _k_e_y_s_y_m(_m_o_d_i_f_i_e_r_s): sssseeeennnndddd(_s_t_r_i_n_g);
  418.           _k_e_y_s_y_m(_m_o_d_i_f_i_e_r_s): ffffuuuunnnncccc(_s_t_r_i_n_g);
  419.           _k_e_y_s_y_m(_m_o_d_i_f_i_e_r_s): rrrreeeebbbbiiiinnnndddd(_s_t_r_i_n_g);
  420.           _k_e_y_s_y_m(_m_o_d_i_f_i_e_r_s): uuuunnnnbbbbiiiinnnndddd();
  421.  
  422.      _k_e_y_s_y_m is a standard keysym as defined by X.  _m_o_d_i_f_i_e_r_s can be one or
  423.      more of the standard modifiers (SSSShhhhiiiifffftttt, CCCCoooonnnnttttrrrroooollll, AAAAlllltttt) or aaaannnnyyyy.  If any is
  424.      used then the modifier state is unimportant during input checking.
  425.      _s_t_r_i_n_g can contain C style backslash sequences, such as \n, in order to
  426.      embed control characters.
  427.  
  428.      If the target for the mapping is sssseeeennnndddd then the given _s_t_r_i_n_g will be sent
  429.      when the key (with its modifiers) is pressed.  This mapping applies to
  430.      the top level bindings.
  431.  
  432.      If the target for the mapping is ffffuuuunnnncccc then the given _s_t_r_i_n_g will be used
  433.      to apply an internal function to xwsh.  The following internal functions
  434.      are currently supported:  send, up-line, down-line, up-page, down-page,
  435.      home, end, push, pop and toggle-redirect.
  436.  
  437.      If the target for the mapping is rrrreeeebbbbiiiinnnndddd then the given _s_t_r_i_n_g will be
  438.      sent when the key (with its modifiers) is pressed.  This mapping applies
  439.      to the bottom level bindings and just invokes an XXXXRRRReeeebbbbiiiinnnnddddKKKKeeeeyyyyssssyyyymmmm when the
  440.      key mapping is applied.
  441.  
  442.      If the target for the mapping is uuuunnnnbbbbiiiinnnndddd then when the key map is applied
  443.      any top level binding for the key (with its modifiers) is removed.  Using
  444.      send and unbind one can setup bindings that are temporarily ``pushed''
  445.      and ``popped''.
  446.  
  447.      Key mappings are specified in one of two ways.  A command like option
  448.      exists which defines a key map file whose contents are lines in the
  449.      format described above.  Resources also exist to define particular key
  450.      maps.  See the section on string resources for more information.  A quick
  451.      examination of ////uuuussssrrrr////lllliiiibbbb////XXXX11111111////aaaapppppppp----ddddeeeeffffaaaauuuullllttttssss////XXXXWWWWsssshhhh may also help.
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  467.  
  468.  
  469.  
  470. MENU OPERATION
  471.      xwsh has a popup menu which will be activated when the right pointer
  472.      button is pressed over the text area.  PPPPoooopppp is used to raise the window to
  473.      the top of the window hierarchy, subject to any window manager
  474.      constraints.  SSSSeeeennnndddd is used to send the primary selection (XA_PRIMARY in
  475.      ICCC terms) to the tty as if the user had typed it in.  SSSSiiiizzzzeeee is a roll
  476.      off menu item that allows the user to resize the xwsh window to specific
  477.      commonly used sizes.  Note that resizing a window is subject to window
  478.      manager constraints.  The FFFFoooonnnntttt menu item will bring up a font browser
  479.      dialog (see below on how to use it).  Finally, CCCClllloooonnnneeee is a roll off menu
  480.      item that is used to make a visually identical (within certain limits)
  481.      copy of the xwsh.  The copy will have a new command, new tty, etc.  It
  482.      will attempt to have the same font, same colors and other attributes.
  483.  
  484. FFFFOOOONNNNTTTT BBBBRRRROOOOWWWWSSSSEEEERRRR
  485.      The font browser is used to pick a new font for use as xwsh's primary
  486.      rendition font (there is currently no way to pick other rendition fonts).
  487.      The font browser displays three scrolling lists: the _f_o_n_t list, the _s_t_y_l_e
  488.      list and the _s_i_z_e list.  The _f_o_n_t list lists in alphabetical order the
  489.      various fonts.  A names shown are composed of the foundry, family,
  490.      registry and encoding (fonts that are iso8859-1 do not show the registry
  491.      and encoding).  For example, _t_e_r_m_i_n_a_l (_b_i_t_s_t_r_e_a_m) is an iso8859-1 font
  492.      from _b_i_t_s_t_r_e_a_m whose family is _t_e_r_m_i_n_a_l.  Also, _t_e_r_m_i_n_a_l (_b_i_t_s_t_r_e_a_m, _d_e_c,
  493.      _d_e_c_t_e_c_h) is another _t_e_r_m_i_n_a_l font from _b_i_t_s_t_r_e_a_m, but it is not an
  494.      iso8859-1 font, rather it is of the Idec _r_e_g_i_s_t_r_y _a_n_d _d_e_c_t_e_c_h _e_n_c_o_d_i_n_g.
  495.  
  496.      The _s_t_y_l_e list shows names (alphabetically sorted) which are composed of
  497.      the weight, slant, slant width, and adstyle.  The _s_i_z_e list shows the
  498.      available sizes for the given fonts (numerically sorted).
  499.  
  500.      Any time a selection is made in one or more of the lists, items which are
  501.      not possible given the choices made are grayed out.  Selections are made
  502.      by clicking on a particular item in the list.  Selections can be unmade
  503.      by clicking on a selected item again.  For instance, not all fonts have
  504.      15 pixel sizes.  In this case when a font is chosen that has no 15 pixel
  505.      size, the 15 entry in the size list will be grayed out.  The same kind of
  506.      constraints are applied to the style and font list.
  507.  
  508.      There are two control buttons that determine which fonts are shown and
  509.      how they are presented.  The SSSShhhhoooowwww pppprrrrooooppppoooorrrrttttiiiioooonnnnaaaallll wwwwiiiiddddtttthhhh ffffoooonnnnttttssss button when
  510.      enabled will add in proportional width fonts to the font, style and size
  511.      lists.  By default this is disabled, because proportional width fonts are
  512.      often confusing to the user (see the discussion above, where -fn is
  513.      described).  The SSSShhhhoooowwww ssssiiiizzzzeeee iiiinnnn ppppooooiiiinnnnttttssss button when enabled changes the
  514.      units in the size list from pixels to points.  The values used for the
  515.      points to pixel scaling are computed by using information provided by the
  516.      display that xwsh is connected to.
  517.  
  518.      After all three lists have an item selected, the font browser will
  519.      display a sample from the font below the SSSShhhhoooowwww ssssiiiizzzzeeee iiiinnnn ppppooooiiiinnnnttttssss button as
  520.      well as the full X name of the font in the name field editor.  Using this
  521.      sample the user can preview the font choice, and if it is not desirable,
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  533.  
  534.  
  535.  
  536.      keep browsing other fonts.  Once a choice has been made the user can
  537.      accept it by pressing the _A_c_c_e_p_t button which changes the primary
  538.      rendition font of xwsh and dismisses the font browser.  Pressing the
  539.      _A_p_p_l_y button changes the font but leaves the browser up in case another
  540.      change is desired.  The _C_a_n_c_e_l button dismisses the browser with no
  541.      further font changes (it will not undo a _A_p_p_l_y).
  542.  
  543. UUUURRRRLLLLssss
  544.      xwsh optionally supports highlighting URLs that it detects in the stream
  545.      of output text.  Having URLs highlighted makes them much easier to notice
  546.      when reading through lots of text.  This feature is particularly useful
  547.      when coupled with the ability to pass URLs directly to a web browser
  548.      (more on this below).  The disadvantage to this feature is that there is
  549.      a slight performance penalty in detecting the URLs and thus text will
  550.      print slower. Generally this is not noticeable.  Also, the code that
  551.      detects URLs can be fooled under some (rare) circumstances.  For more
  552.      information on passing URLs directly from xwsh to a Web browser, see the
  553.      section on Selections (below).
  554.  
  555.      You can enable this behavior with the -highlightURL command line switch
  556.      or the boolean highlightURL X resource.  By default this option is off.
  557.  
  558. SSSSEEEELLLLEEEECCCCTTTTIIIIOOOONNNNSSSS
  559.      xwsh supports manipulation of the primary selection (XA_PRIMARY in ICCC).
  560.      The left pointer button is the select button.  The middle pointer button
  561.      is a shortcut for the _S_e_n_d menu entry (this can be disabled with the
  562.      -nosend command line option or the noQuickSend resource).  Pressing left
  563.      pointer will begin a new selection.  As the pointer is moved the
  564.      selection will be swept out.  Finally, when the left pointer is released
  565.      a selection is made.  If the area swept out is not empty then xwsh will
  566.      assert ownership of the primary selection.  If xwsh cannot get ownership
  567.      of the primary selection then the selection will immediately disappear
  568.      from the display.
  569.  
  570.      By rapidly clicking the left pointer button twice (down, up, down) the
  571.      user will enter double click mode.  In double click mode moving the
  572.      pointer will select _w_o_r_d_s.  What constitutes a word is determined by the
  573.      charClass resource.  By rapidly clicking the left pointer button three
  574.      times (down, up, down, up, down) the user will enter triple click mode.
  575.      In triple click mode entire lines are selected as the pointer is moved.
  576.  
  577.      Holding down the Control key while pressing the left mouse button will
  578.      select URLs.  That is, if the mouse is over a piece of text that is a
  579.      URL, it is automatically selected.  Releasing the mouse button while the
  580.      control key is depressed runs an external program on the currently
  581.      selected text.  You can specify the program to be run through X resources
  582.      (see below).  The default program that runs will start a web browser with
  583.      the selected URL.
  584.  
  585.      Selections can be extended by shift-clicking the left pointer button.  If
  586.      a shift-click occurs above the current selection then the selection will
  587.      be extended up to the new position.  If a shift-click occurs below the
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  599.  
  600.  
  601.  
  602.      current selection then the selection will be extended down to the new
  603.      position.  If a shift-click occurs inside the selection then the top of
  604.      the selection remains fixed while the bottom is moved up to the new
  605.      position.  Note that selections can be extended in single, double or
  606.      triple click mode.
  607.  
  608.      If during the process of making a selection the pointer moves vertically
  609.      out of the text area then the text area will be automatically scrolled to
  610.      allow selections that are larger than the visible area.
  611.  
  612.      Through X resources you can also use the Modifier keys (Control, Alt, and
  613.      Shift) to modify behavior of left mouse-button events.  You can apply any
  614.      combination of Control, Alt, and Shift to the three actions of the left
  615.      mouse button (button down, drag with button down, and button up).
  616.      (However, specifying an action associated with the Alt and left-mouse
  617.      might interfere with a default 4Dwm binding.)  The action taken when a
  618.      given key and mouse combination event occurs is specified in a way
  619.      similar to keysym functions.
  620.  
  621.      The first mapping, selectDownMap, is the action taken when the left mouse
  622.      button is pressed down.  The next mapping, selectDragMap, is the action
  623.      taken when the mouse is dragged (with the left button still depressed).
  624.      The final mapping, selectUpMap, is the action taken when the left mouse
  625.      button is released.
  626.  
  627.      The actions available are:
  628.           BeginSelect - begin selecting a region of text
  629.           BeginExtendSelect - extend the current selection
  630.           NormalDragSelect - drag select a region of text
  631.           DoNothing - empty place holder operation
  632.           SelectURL - select an entire URL
  633.           DoFilter1 - execute filter command 1 on selection
  634.           DoFilter2 - execute filter command 2 on selection
  635.           DoFilter3 - execute filter command 3 on selection
  636.  
  637.      You specify the commands executed by the 3 DoFilter actions with X
  638.      resources. The resource names are filterCmd1, filterCmd2, and filterCmd3.
  639.      The strings values of these resources are taken as a command line and
  640.      executed.  If there is a "%s" (no quotes) in the string, it is replaced
  641.      with the currently selected text.
  642.  
  643.      The default values for the three filter commands are:
  644.  
  645.           XWsh*FilterCmd1:   nr %s
  646.           XWsh*FilterCmd2:   jot %s
  647.           XWsh*FilterCmd3:   echo %s
  648.  
  649.  
  650.      It is important to note that these commands are run in the environment
  651.      that xwsh is run in by xdm.  This is not the same as the environment of
  652.      the command that runs inside of the xwsh and thus environment variables
  653.      set in your shell may not be set for the filter program.
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  665.  
  666.  
  667.  
  668.      The default mapping of key and mouse clicks is as follows (taken from the
  669.      X resource file):
  670.  
  671.           XWsh*selectDownMap:                                \
  672.                    Control:     func("SelectURL");           \
  673.                    Shift:       func("BeginExtendSelect");
  674.           XWsh*selectDragMap:                                \
  675.                    Control:     func("DoNothing");           \
  676.                    Shift:       func("NormalDragSelect");
  677.           XWsh*selectUpMap:                                  \
  678.                    Control:     func("DoFilter1");
  679.  
  680.  
  681.      The mappings need not be single key modifiers, you can also specify
  682.      modifiers such as Control+Shift or Alt+Control.  There can only be a
  683.      single function per key modifier however.
  684.  
  685.      Note that you can select text without pressing any modifier keys, then
  686.      depress a modifier key before releasing the mouse button. Then (assuming
  687.      the modifier is still pressed) when you release the mouse button, the
  688.      selectUpMap for that modifier key will be executed.
  689.  
  690. SSSSCCCCRRRROOOOLLLLLLLL BBBBAAAARRRR OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN
  691.      The scroll bar is composed of four components.  An up arrow, a down
  692.      arrow, a thumb and a divot.  The up arrow scrolls the text display down
  693.      one line while the down arrow scrolls the text display up one line.
  694.      Dragging the thumb up will scroll the display down while dragging the
  695.      thumb down will scroll the display up.  Most manipulation of the scroll
  696.      bar is done using the left pointer button.  The divot is not manipulated
  697.      by the user but is used to show where the thumb was before scrolling
  698.      began (only when dragging the thumb).
  699.  
  700.      By clicking the left pointer button above or below the thumb, the thumb
  701.      will begin scrolling in page sized increments until it reaches either of
  702.      the end points.  By clicking the middle pointer button above, below, or
  703.      on the thumb the thumb will be moved to the location of the pointer (i.e.
  704.      a "goto" operation).  The thumb will continue to track the pointer
  705.      location until the middle pointer button is released.
  706.  
  707.      If the display is locked (via the Lock display escape sequence, see xwsh
  708.      set mode) or if there is insufficient data to scroll then the scroll bar
  709.      will be disabled (no thumb will show and the arrows will be grayed out).
  710.  
  711. EEEESSSSCCCCAAAAPPPPEEEE SSSSEEEEQQQQUUUUEEEENNNNCCCCEEEESSSS
  712.      _x_w_s_h emulates a terminal that supports a subset of ANSI X3.64-1979 (an
  713.      "ansi" terminal).  xwsh also has features appropriate to a windowing
  714.      application.  Escape sequences are special characters interpreted by the
  715.      terminal (or terminal emulator; i.e. xwsh) to perform functions beyond
  716.      simply placing a character on the display.  The information that follows
  717.      describes all the escape sequences that xwsh understands.  A standard set
  718.      of conventions are used to describe each escape sequence.  For example:
  719.  
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  731.  
  732.  
  733.  
  734.      CCCCSSSSIIII PPPPvvvv mmmm
  735.  
  736.      describes a sequence that begins with CSI ("control sequence introducer")
  737.      followed by zero or more semicolon separated numbers followed by the
  738.      character "m".  ESC ("escape") expands to "\033".  CSI expands to either
  739.      "ESC [" (escape left-bracket) or to "\233".  DCS ("device control
  740.      string") expands to either "ESC P" (escape capital-P) or to "\220".  ST
  741.      ("string terminator") expands to either "ESC \\" (escape backslash) or to
  742.      "\234".
  743.  
  744. AAAANNNNSSSSIIII EEEESSSSCCCCAAAAPPPPEEEE SSSSEEEEQQQQUUUUEEEENNNNCCCCEEEESSSS
  745.      ooooccccttttaaaallll 7777     Ring the bell.  See the xwsh set mode below for what this
  746.                  actually does.
  747.  
  748.      ooooccccttttaaaallll 11110000    Move the cursor left one character.  Does not wrap at the
  749.                  left margin.
  750.  
  751.      ooooccccttttaaaallll 11111111    Move the cursor to the next tab position.  Tabs are settable.
  752.  
  753.      ooooccccttttaaaallll 11113333    Move the cursor down one position.  Scroll the display if
  754.                  needed.
  755.  
  756.      ooooccccttttaaaallll 11114444    Move the cursor down one position.  Scroll the display if
  757.                  needed.
  758.  
  759.      ooooccccttttaaaallll 11115555    Move the cursor to the left margin.
  760.  
  761.      EEEESSSSCCCC DDDD oooorrrr ooooccccttttaaaallll 222200004444
  762.                  Move the cursor down one position.  Scroll the display if
  763.                  needed.
  764.  
  765.      EEEESSSSCCCC EEEE oooorrrr ooooccccttttaaaallll 222200005555
  766.                  Move the cursor to the start of the next line.  Scroll the
  767.                  display if needed.
  768.  
  769.      EEEESSSSCCCC HHHH oooorrrr ooooccccttttaaaallll 222211110000
  770.                  Horizontal tab set.  Set a tab at the current cursor column.
  771.  
  772.      EEEESSSSCCCC MMMM oooorrrr ooooccccttttaaaallll 222211115555
  773.                  Move the cursor up one position.  Scroll the display if
  774.                  needed.
  775.  
  776.      EEEESSSSCCCC cccc       Reset to initial state.
  777.  
  778.      CCCCSSSSIIII PPPPvvvv AAAA    Move the cursor up.  The amount to move is taken from the
  779.                  first parameter, or defaults to one.  The display will not be
  780.                  scrolled.
  781.  
  782.      CCCCSSSSIIII PPPPvvvv BBBB    Move the cursor down.  The amount to move is taken from the
  783.                  first parameter, or defaults to one.  The display will not be
  784.                  scrolled.
  785.  
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  797.  
  798.  
  799.  
  800.      CCCCSSSSIIII PPPPvvvv CCCC    Move the cursor right.  The amount to move is taken from the
  801.                  first parameter, or defaults to one.  The cursor will not
  802.                  wrap at the right margin.
  803.  
  804.      CCCCSSSSIIII PPPPvvvv DDDD    Move the cursor left.  The amount to move is taken from the
  805.                  first parameter, or defaults to one.  The cursor will not
  806.                  wrap at the left margin.
  807.  
  808.      CCCCSSSSIIII PPPPvvvv HHHH oooorrrr CCCCSSSSIIII PPPPvvvv ffff
  809.                  Move the cursor to absolute coordinates specified by the
  810.                  first and second parameters.  The default values for the
  811.                  parameters are one.
  812.  
  813.      CCCCSSSSIIII PPPPvvvv gggg    Clear tabs.  If the first parameter has the value 0, then the
  814.                  tab at the current column is removed.  If the first parameter
  815.                  has the value 3 then all tab stops are cleared.  Otherwise,
  816.                  if the first parameter has a value of 100 then tab stops are
  817.                  reset to the default state (one every 8 columns).
  818.  
  819.      CCCCSSSSIIII PPPPvvvv LLLL    Insert lines.  The amount to insert is taken from the first
  820.                  parameter, or defaults to one.  Lines below the cursor
  821.                  position are moved down.  Blank lines with default display
  822.                  attributes are added at the cursor position.
  823.  
  824.      CCCCSSSSIIII PPPPvvvv MMMM    Delete lines.  The amount to delete is taken from the first
  825.                  parameter, or defaults to one.  Lines below the cursor
  826.                  position are moved up, with lines at the bottom being
  827.                  replaced with blank lines.  The blank lines have default
  828.                  display attributes.
  829.  
  830.      CCCCSSSSIIII PPPPvvvv @@@@    Insert characters.  The amount to insert is taken from the
  831.                  first parameter, or defaults to one.  Blank characters with
  832.                  default display attributes are inserted at the cursor
  833.                  position.
  834.  
  835.      CCCCSSSSIIII PPPPvvvv PPPP    Delete characters.  The amount to delete is taken from the
  836.                  first parameter, or defaults to one.  Characters at the
  837.                  cursor position are deleted.
  838.  
  839.      CCCCSSSSIIII PPPPvvvv XXXX    Erase characters.  The amount to erase is taken from the
  840.                  first parameter, or defaults to one.  Characters at the
  841.                  cursor position are erased.
  842.  
  843.      CCCCSSSSIIII PPPPvvvv KKKK    Erase in line.  If the first parameter is zero then the line
  844.                  is erased from the cursor position to the end of the line.
  845.                  If the first parameter is one then the line is erased from
  846.                  the start of the line up to and including the cursor
  847.                  position.  If the first parameter is two the line is
  848.                  completely erased.
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                                                        PPPPaaaaggggeeee 11113333
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  863.  
  864.  
  865.  
  866.      CCCCSSSSIIII PPPPvvvv JJJJ    Erase in display.  If the first parameter is zero then lines
  867.                  are erased from the cursor position to the end of the
  868.                  display.  If the first parameter is one then lines are erased
  869.                  from the start of the display up to and including the cursor
  870.                  position.  If the first parameter is two the entire display
  871.                  is erased.
  872.  
  873.      CCCCSSSSIIII PPPPvvvv mmmm    Set graphics rendition.  Each parameter is examined in turn
  874.                  and applied to the current graphics rendition.  The following
  875.                  table defines what each of the legal values for the
  876.                  parameters are.
  877.  
  878.           0000      Reset to default.
  879.  
  880.           1111      Enable bold.  Disable half intensity.
  881.  
  882.           2222      Enable half intensity.  Disable bold.
  883.  
  884.           3333      Enable italics.
  885.  
  886.           4444      Enable underlining.
  887.  
  888.           7777      Enable reverse video.
  889.  
  890.           22221111     Disable bold (VT100).
  891.  
  892.           22222222     Disable half intensity (VT100).
  893.  
  894.           22223333     Disable italics (VT100).
  895.  
  896.           22224444     Disable underlining (VT100).
  897.  
  898.           22227777     Disable reverse video (VT100).
  899.  
  900.           33330000----33337777  Set the text color to black, red, green, yellow, blue,
  901.                  magenta, cyan or white, respectively (ISO 6429).
  902.  
  903.           44440000----44447777  Set the page color to black, red, green, yellow, blue,
  904.                  magenta, cyan or white, respectively (ISO 6429).
  905.  
  906.       CCCCSSSSIIII PPPPvvvv hhhh    Ansi set mode.  Each parameter is examined in turn and
  907.                   applied to the current state of xwsh.  The following table
  908.                   defines what each of the legal values for the parameters
  909.                   are.
  910.  
  911.            2222    Keyboard lock.  When set, no keyboard input is allowed.  When
  912.                 reset, the keyboard behaves as normal.
  913.  
  914.            4444    Insert/replace mode.  When set, characters are inserted into
  915.                 the display.  When reset, characters overwrite display
  916.                 characters (this is the normal mode).
  917.  
  918.  
  919.  
  920.  
  921.                                                                        PPPPaaaaggggeeee 11114444
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  929.  
  930.  
  931.  
  932.            22220000   Line feed/new line mode.  When set, the new line (octal 12)
  933.                 character moves the cursor down one line and to the left
  934.                 margin (scrolling as needed).  When reset, the new line
  935.                 character only performs a downward motion (this is the normal
  936.                 mode).
  937.  
  938.       CCCCSSSSIIII PPPPvvvv llll    Ansi reset mode.  Same as ansi set mode, except the modes
  939.                   are disabled instead of enabled.
  940.  
  941.       CCCCSSSSIIII PPPPvvvv RRRR    Cursor position report.  This sequence is ignored.  The
  942.                   sequence is usually a result of a request cursor position
  943.                   escape sequence.
  944.  
  945.       CCCCSSSSIIII PPPPvvvv cccc    Ansi device attributes request.  If xwsh is run with the
  946.                   VT100 option enabled, then xwsh will answer this escape
  947.                   sequence by sending "ESC [ ? 1 ; 2 c".
  948.  
  949.       CCCCSSSSIIII ???? PPPPvvvv cccc  Ansi device attributes report.  This sequence is ignored.
  950.                   The sequence is usually a result of an ansi device
  951.                   attributes request.
  952.  
  953.       CCCCSSSSIIII PPPPvvvv nnnn    Device status report.  Legal values for the parameter are:
  954.  
  955.            5555    Send null DSR response CCCCSSSSIIII 0000 nnnn.
  956.  
  957.            6666    Report the current cursor position.  A CCCCSSSSIIII rrrroooowwww ;;;; ccccoooollll RRRR escape
  958.                 sequence will be sent by xwsh.
  959.  
  960.            111100000000----111100007777
  961.                 Report the rgb value (#rrggbb) for a given color using a DDDDCCCCSSSS
  962.                 PPPPnnnn ....yyyy PPPPssss SSSSTTTT escape sequence (see DCS below for the values that
  963.                 xwsh will use for Pn).  DSR parameter 100 maps to the text
  964.                 color, 101 to the page color, 102 the selection text color,
  965.                 103 to the selection page color, 104 to the cursor text color,
  966.                 105 to the cursor page color, 106 to the half intensity color
  967.                 and 107 to the bold color.
  968.  
  969. XXXXWWWWSSSSHHHH EEEESSSSCCCCAAAAPPPPEEEE SSSSEEEEQQQQUUUUEEEENNNNCCCCEEEESSSS
  970.      CCCCSSSSIIII ==== PPPPvvvv hhhh  xwsh set mode.  Each parameter is examined in turn and
  971.                  applied to the current state of xwsh.  The following table
  972.                  defines what each of the legal values for the parameters are.
  973.  
  974.           6666    Lock display.  When set, this mode causes xwsh to keep its
  975.                display set to the current location in the retain buffer.  Any
  976.                scrolling activities, line insert/deletes will not affect the
  977.                retain buffer that is outside of the display.  When reset,
  978.                scrolling off the bottom will move the display to track the
  979.                bottom of the retain buffer.  When the lock is set, the scroll
  980.                bar is disabled, as well as any extend selection mechanisms
  981.                that might cause a scroll.  The normal mode is in the reset
  982.                state, but the standard terminfo for iris-ansi causes visual
  983.                programs to lock the display.
  984.  
  985.  
  986.  
  987.                                                                        PPPPaaaaggggeeee 11115555
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  995.  
  996.  
  997.  
  998.           9999    Enable visual bell.  When set, xwsh will flash the display when
  999.                it receives an octal 7 instead of ringing the bell.  When reset
  1000.                it asks X to ring the bell.
  1001.  
  1002.           11112222   Overlay mode.  When set, xwsh moves its display into the
  1003.                overlay planes.  When reset, xwsh displays in the default
  1004.                visual.  This is no longer functional as of IRIX 4.0.  The
  1005.                escape sequence is now ignored.
  1006.  
  1007.       CCCCSSSSIIII ==== PPPPvvvv llll  xwsh reset mode.  Same as xwsh set mode, except the modes
  1008.                   are disabled instead of enabled.
  1009.  
  1010.       CCCCSSSSIIII PPPPvvvv //// yyyy  xwsh command.  The first parameter to this escape sequence
  1011.                   is the particular command described in the table that
  1012.                   follows.  Each command has different numbers of arguments
  1013.                   which are described below.
  1014.  
  1015.            2222    Textport init.  Reset xwsh to be 40 rows by 80 columns.  Reset
  1016.                 the colors to the default colors.  Reset any graphics
  1017.                 rendition.  Clear out the retain buffer.  Home the cursor.
  1018.  
  1019.            11114444   History init.  Clear out the retain buffer.  Home the cursor.
  1020.  
  1021.            3333    Push the window.  Depending on the window manager, this may or
  1022.                 may not have any affect.
  1023.  
  1024.            4444    Pop the window.  Depending on the window manager, this may or
  1025.                 may not have any affect.
  1026.  
  1027.            11116666   Reset bindable function keys.
  1028.  
  1029.            11115555   Initialize bindable function keys to defaults.
  1030.  
  1031.            111100001111  Set the text color by using a 3.3 compatible index.
  1032.  
  1033.            111100002222  Set the page color by using a 3.3 compatible index.
  1034.  
  1035.            111100003333  Set the bold color by using a 3.3 compatible index.
  1036.  
  1037.            111100004444  Set the cursor page color by using a 3.3 compatible index.
  1038.  
  1039.            111111111111  Set the selection colors by using 3.3 compatible indices.
  1040.                 This sequence takes three parameters.  The first is 111.  The
  1041.                 second parameter is the selection text color, the third is the
  1042.                 selection page color.
  1043.  
  1044.            222200003333  Set the window size by row and column.  This sequence takes
  1045.                 three parameters.  The first is 203.  The second parameter is
  1046.                 the number of rows to use.  The third parameter is the number
  1047.                 of columns to use.
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                                                        PPPPaaaaggggeeee 11116666
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1061.  
  1062.  
  1063.  
  1064.            222200004444  Set the window size, in pixels.  This sequence takes three
  1065.                 parameters.  The first is 204.  The second parameter is the
  1066.                 new width.  The third parameter is the new height.  The width
  1067.                 and height are rounded up to the nearest font boundaries.
  1068.  
  1069.            222200005555  Set the window position, in pixels.  The lower left corner of
  1070.                 the display is specified as 0,0.
  1071.  
  1072.       DDDDCCCCSSSS PPPPnnnn ....yyyy PPPPssss SSSSTTTT
  1073.         Device control string.  Ps is a single ansi string (character codes in
  1074.         the range of octal 040 to 0176 inclusive).  The following defines what
  1075.         the string is used for.
  1076.  
  1077.            1111    Set the window title.
  1078.  
  1079.            3333    Set the icon title.
  1080.  
  1081.            4444    Set the text color by string.  See the -C command for a
  1082.                 description of how the string will be interpreted.
  1083.  
  1084.            5555    Set the page color by string.
  1085.  
  1086.            6666    Set the selection text color by string.
  1087.  
  1088.            7777    Set the selection page color by string.
  1089.  
  1090.            8888    Set the cursor text color by string.
  1091.  
  1092.            9999    Set the cursor page color by string.
  1093.  
  1094.            11110000   Set the half intensity color by string.
  1095.  
  1096.            11111111   Set the bold intensity color by string.
  1097.  
  1098.            111100001111  Bind the string to the key named by Pn+1.  The key numbers are
  1099.                 the same as the numbers defined in <device.h>.  The string can
  1100.                 contain C style backslashed characters to get control
  1101.                 characters into the string.  When the key is pressed the value
  1102.                 will be sent to the process that xwsh is managing.  This
  1103.                 capability is turned off by default for security.  Turn it on
  1104.                 with the "-bindkey2dcs" command line option or with the
  1105.                 "bindKey2DCS" resource.
  1106.  
  1107.            111100003333  Bind the string to the key named by Pn+1.  The key numbers are
  1108.                 the same as the numbers defined in <device.h>.  When the key
  1109.                 is pressed the value will be used to invoke a function
  1110.                 internal to xwsh.  This capability is turned off by default
  1111.                 for security.  Turn it on with the "-bindkey2dcs" command line
  1112.                 option or with the "bindKey2DCS" resource.
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                                                                        PPPPaaaaggggeeee 11117777
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1127.  
  1128.  
  1129.  
  1130. VVVVTTTT111100000000 EEEESSSSCCCCAAAAPPPPEEEE SSSSEEEEQQQQUUUUEEEENNNNCCCCEEEESSSS
  1131.      EEEESSSSCCCC NNNN oooorrrr ooooccccttttaaaallll 222211116666
  1132.                  Single shift G2.  The next character is taken literally and
  1133.                  is displayed using the character set in G2.
  1134.  
  1135.      EEEESSSSCCCC OOOO oooorrrr ooooccccttttaaaallll 222211117777
  1136.                  Single shift G3.  The next character is taken literally and
  1137.                  is displayed using the character set in G3.
  1138.  
  1139.      CCCCSSSSIIII ???? PPPPvvvv nnnn  VT100 device status report.
  1140.  
  1141.      CCCCSSSSIIII ???? PPPPvvvv hhhh  VT100 set mode.  Each parameter is examined in turn and
  1142.                  applied to the current state of xwsh.  The following table
  1143.                  defines what each of the legal values for the parameters are.
  1144.  
  1145.           1111    VT100 application cursor key mode.  When set, the cursor keys
  1146.                send application escape sequences.  When reset, the cursor keys
  1147.                send the cursor motion escape sequences.
  1148.  
  1149.           3333    VT100 column mode.  When set, the display changes to 132
  1150.                columns wide.  When reset, the display changes to 80 columns
  1151.                wide.  These changes are independent of any size constraints
  1152.                placed on xwsh.
  1153.  
  1154.           5555    VT100 screen mode.  When set, the colors used to display text
  1155.                are reversed with their page counterparts.  The text and page
  1156.                colors are exchanged.  The selection text and selection page
  1157.                colors are exchanged.  When reset, the exchange is done again
  1158.                reversing things to their original state.
  1159.  
  1160.           6666    VT100 origin mode.  When set, cursor positions are taken
  1161.                relative to the scroll region.  When reset, cursor positions
  1162.                are absolute.
  1163.  
  1164.           7777    VT100 auto wrap mode.  When set, auto wrapping occurs normally.
  1165.                When reset, the cursor will not auto wrap at the right margin.
  1166.  
  1167.           22225555   VT100 text cursor enable.  When set, the text cursor is
  1168.                displayed.  When reset, the text cursor is not displayed.
  1169.  
  1170.       CCCCSSSSIIII ???? PPPPvvvv llll  VT100 reset mode.  Same as VT100 set mode, except the modes
  1171.                   are disabled instead of enabled.
  1172.  
  1173.       EEEESSSSCCCC ====       Put the key pad into application mode.
  1174.  
  1175.       EEEESSSSCCCC >>>>       Put the key pad into numeric mode.
  1176.  
  1177.       EEEESSSSCCCC ZZZZ       VT100 identification.  xwsh returns an escape sequence that
  1178.                   describes the configuration of its terminal emulator.
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.                                                                        PPPPaaaaggggeeee 11118888
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1193.  
  1194.  
  1195.  
  1196.       EEEESSSSCCCC 7777       VT100 save cursor.  The cursor position, graphics rendition,
  1197.                   character set, and auto wrap state are saved.
  1198.  
  1199.       EEEESSSSCCCC 8888       VT100 restore cursor.  This reverses the save cursor
  1200.                   command.
  1201.  
  1202.       CCCCSSSSIIII PPPPvvvv rrrr    VT100 scroll region.  Define the top and bottom margins for
  1203.                   scrolling.
  1204.  
  1205.       EEEESSSSCCCC (((( BBBB     Install ascii character set into G0.
  1206.  
  1207.       EEEESSSSCCCC (((( 0000     Install graphics character set into G0.
  1208.  
  1209.       EEEESSSSCCCC )))) BBBB     Install ascii character set into G1.
  1210.  
  1211.       EEEESSSSCCCC )))) 0000     Install graphics character set into G1.
  1212.  
  1213.       EEEESSSSCCCC **** BBBB     Install ascii character set into G2.
  1214.  
  1215.       EEEESSSSCCCC **** 0000     Install graphics character set into G2.
  1216.  
  1217.       EEEESSSSCCCC ++++ BBBB     Install ascii character set into G3.
  1218.  
  1219.       EEEESSSSCCCC ++++ 0000     Install graphics character set into G3.
  1220.  
  1221.       ooooccccttttaaaallll 11117777    Make G0 the current character set.
  1222.  
  1223.       ooooccccttttaaaallll 11116666    Make G1 the current character set.
  1224.  
  1225.       EEEESSSSCCCC nnnn       Make G2 the current character set.
  1226.  
  1227.       EEEESSSSCCCC oooo       Make G3 the current character set.
  1228.  
  1229.       EEEESSSSCCCC <<<<       VT52 enter ansi mode.
  1230.  
  1231.       DDDDCCCCSSSS PPPPvvvv |||| PPPPssss SSSSTTTT
  1232.                   VT100 device control string.
  1233.  
  1234.       EEEESSSSCCCC #### 8888     VT100 screen alignment.  Fills the display with upper case
  1235.                   E's.
  1236.  
  1237.       CCCCSSSSIIII PPPPvvvv xxxx    VT100 request terminal parameters.
  1238.  
  1239.       CCCCSSSSIIII PPPPvvvv qqqq    VT100 set/clear led.
  1240.  
  1241. XXXXTTTTEEEERRRRMMMM EEEESSSSCCCCAAAAPPPPEEEE SSSSEEEEQQQQUUUUEEEENNNNCCCCEEEESSSS
  1242.      EEEESSSSCCCC ]]]] PPPPnnnn ;;;; PPPPssss ooooccccttttaaaallll 7777
  1243.                  XTERM set title.  If the first parameter is one then Ps is
  1244.                  used as the new icon title.  If the first parameter is two
  1245.                  then Ps is used as the new window title.
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.                                                                        PPPPaaaaggggeeee 11119999
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1259.  
  1260.  
  1261.  
  1262. XXXXWWWWSSSSHHHH BBBBOOOOOOOOLLLLEEEEAAAANNNN RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
  1263.      xwsh supports the following boolean resources.
  1264.  
  1265.      aaaalllllllloooowwwwSSSSeeeennnnddddEEEEvvvveeeennnnttttssss [[[[ccccllllaaaassssssss AAAAlllllllloooowwwwSSSSeeeennnnddddEEEEvvvveeeennnnttttssss]]]]
  1266.           When set this flag allows xwsh to accept keyboard events that have
  1267.           the send_event flag TRUE.  This allows another program to type for
  1268.           the user.
  1269.  
  1270.      aaaauuuuttttooooFFFFoooorrrrkkkk [[[[ccccllllaaaassssssss AAAAuuuuttttooooFFFFoooorrrrkkkk]]]]
  1271.           A flag which specifies if xwsh should automatically fork into the
  1272.           background during startup.
  1273.  
  1274.      bbbbiiiinnnnddddKKKKeeeeyyyy2222DDDDCCCCSSSS [[[[ccccllllaaaassssssss BBBBiiiinnnnddddKKKKeeeeyyyy2222DDDDCCCCSSSS]]]]
  1275.           A flag which enables the binding of keys to device control strings
  1276.           (DCS).  This capability is disabled by default for security reasons.
  1277.  
  1278.      ccccoooonnnnssssoooolllleeee [[[[ccccllllaaaassssssss CCCCoooonnnnssssoooolllleeee]]]]
  1279.           This resource when set performs the same function as the -console
  1280.           command line option.
  1281.  
  1282.      eeeerrrrrrrroooorrrrEEEExxxxiiiittttHHHHoooollllddddiiiinnnngggg [[[[ccccllllaaaassssssss EEEErrrrrrrroooorrrrEEEExxxxiiiittttHHHHoooollllddddiiiinnnngggg]]]]
  1283.           When enabled xwsh will maintain its window after the child exits if
  1284.           the child returns an exit status showing an error condition.  This
  1285.           is a milder form of the holding resource.
  1286.  
  1287.      ffffiiiixxxxeeeeddddSSSSiiiizzzzeeee [[[[ccccllllaaaassssssss FFFFiiiixxxxeeeeddddSSSSiiiizzzzeeee]]]]
  1288.           When set xwsh behaves as a fixed size terminal.  Its initial maximum
  1289.           size determines the tty emulation area managed.  When the window
  1290.           changes size the underlying tty emulation area is not affected.
  1291.  
  1292.      hhhhiiiigggghhhhlllliiiigggghhhhttttUUUURRRRLLLL [[[[ccccllllaaaassssssss HHHHiiiigggghhhhlllliiiigggghhhhttttUUUURRRRLLLL]]]]
  1293.           This boolean controls whether xwsh will highlight URLs that it
  1294.           detects in the input stream.  If set to True, then if a URL is
  1295.           detected in the output stream, it is highlighted in Bold Italic.  By
  1296.           default this resource is set to False.
  1297.  
  1298.      hhhhoooollllddddiiiinnnngggg [[[[ccccllllaaaassssssss HHHHoooollllddddiiiinnnngggg]]]]
  1299.           This boolean controls what xwsh does when the child program exits.
  1300.           When set xwsh maintains its window until removed by the window
  1301.           manager.  When reset, xwsh exits when its child exits.
  1302.  
  1303.      iiiinnnnvvvveeeerrrrttttYYYY [[[[ccccllllaaaassssssss IIIInnnnvvvveeeerrrrttttYYYY]]]]
  1304.           When set xwsh will y invert the geometry origin coordinates.  This
  1305.           is a compatibility resource for the obsolete wsh(1g) command only.
  1306.           This resource is obsolete and should not be used.
  1307.  
  1308.      jjjjuuuummmmppppTTTTooooBBBBoooottttttttoooommmm [[[[ccccllllaaaassssssss JJJJuuuummmmppppTTTTooooBBBBoooottttttttoooommmm]]]]
  1309.           When set this flag tells xwsh to jump to the bottom of the scroll
  1310.           display upon any data generating key stroke.  When false, xwsh only
  1311.           jumps when a data scroll occurs (i.e., a newline or equivalent is
  1312.           output).
  1313.  
  1314.  
  1315.  
  1316.  
  1317.                                                                        PPPPaaaaggggeeee 22220000
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1325.  
  1326.  
  1327.  
  1328.      kkkkeeeeeeeeppppOOOOnnnnSSSSccccrrrreeeeeeeennnn [[[[ccccllllaaaassssssss KKKKeeeeeeeeppppOOOOnnnnSSSSccccrrrreeeeeeeennnn]]]]
  1329.           When enabled this flag causes xwsh to attempt to keep its window on
  1330.           the screen.  This flag only takes affect when xwsh is resized from
  1331.           its own popup menu or from an escape sequence.
  1332.  
  1333.      kkkkeeeeyyyyMMMMaaaappppFFFFiiiilllleeeeAAAAfffftttteeeerrrr [[[[ccccllllaaaassssssss KKKKeeeeyyyyMMMMaaaappppFFFFiiiilllleeeeAAAAfffftttteeeerrrr]]]]
  1334.           This boolean determines the order in which the key map file is
  1335.           applied to the keyboard state.  The default value of false means
  1336.           that the users key map file is applied before any resources.  A
  1337.           value of TRUE means that the users key map file is applied after any
  1338.           resources.
  1339.  
  1340.      nnnnooooKKKKeeeeyyyybbbbooooaaaarrrrdddd [[[[ccccllllaaaassssssss NNNNooooKKKKeeeeyyyybbbbooooaaaarrrrdddd]]]]
  1341.           When set this resource disables the keyboard.  No keyboard input
  1342.           will be allowed.
  1343.  
  1344.      nnnnooooMMMMeeeennnnuuuu [[[[ccccllllaaaassssssss NNNNooooMMMMeeeennnnuuuu]]]]
  1345.           When enabled xwsh will not have a popup menu.  Same as the -nomenu
  1346.           command line option.
  1347.  
  1348.      nnnnooooQQQQuuuuiiiicccckkkkSSSSeeeennnndddd [[[[ccccllllaaaassssssss NNNNooooQQQQuuuuiiiicccckkkkSSSSeeeennnndddd]]]]
  1349.           When enabled xwsh will not send the primary selection when the
  1350.           middle pointer is clicked.
  1351.  
  1352.      oooovvvveeeerrrrFFFFiiiirrrrsssstttt [[[[ccccllllaaaassssssss OOOOvvvveeeerrrrFFFFiiiirrrrsssstttt]]]]
  1353.           This determines what menu item is under the pointer when the menu
  1354.           button is pressed.  The default value is false and means that
  1355.           pointer will be over the title.  When true the pointer will be over
  1356.           the first item in the menu.
  1357.  
  1358.      oooovvvveeeerrrrrrrriiiiddddeeeeRRRReeeeddddiiiirrrreeeecccctttt [[[[ccccllllaaaassssssss OOOOvvvveeeerrrrrrrriiiiddddeeeeRRRReeeeddddiiiirrrreeeecccctttt]]]]
  1359.           When set xwsh will create an override redirect window.  This flag
  1360.           overrides the noBorder flag.
  1361.  
  1362.      uuuusssseeeeSSSSccccrrrroooollllllllBBBBaaaarrrr [[[[ccccllllaaaassssssss UUUUsssseeeeSSSSccccrrrroooollllllllBBBBaaaarrrr]]]]
  1363.           When enabled and the retain limit is greater than the emulation area
  1364.           xwsh will display a scroll bar.  When disabled xwsh will not display
  1365.           a scroll bar.
  1366.  
  1367.      vvvviiiissssuuuuaaaallllBBBBeeeellllllll [[[[ccccllllaaaassssssss VVVViiiissssuuuuaaaallllBBBBeeeellllllll]]]]
  1368.           This flag when set tells xwsh to flash the display in an irritating
  1369.           manner instead of ringing the annoying bell.
  1370.  
  1371.      vvvvtttt111100000000 [[[[ccccllllaaaassssssss VVVVtttt111100000000]]]]
  1372.           If set then xwsh behaves very much like a vt100.
  1373.  
  1374.      vvvvtttt111100000000WWWWrrrraaaapppp [[[[ccccllllaaaassssssss VVVVtttt111100000000WWWWrrrraaaapppp]]]]
  1375.           When set this flag tells xwsh to perform right margin wrapping like
  1376.           it does when in vt100 mode.  The TERM variable will also be set to
  1377.           iris-ansi-nowrap to facilitate correct editing.
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.                                                                        PPPPaaaaggggeeee 22221111
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1391.  
  1392.  
  1393.  
  1394. XXXXWWWWSSSSHHHH IIIINNNNTTTTEEEEGGGGEEEERRRR RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
  1395.      xwsh supports the following integer resources.
  1396.  
  1397.      bbbbaaaarrrrWWWWiiiiddddtttthhhh [[[[ccccllllaaaassssssss SSSSccccrrrroooollllllllBBBBaaaarrrrWWWWiiiiddddtttthhhh]]]]
  1398.           Define the width of the scroll bar.
  1399.  
  1400.      mmmmeeeettttaaaaKKKKeeeeyyyyMMMMaaaasssskkkk [[[[ccccllllaaaassssssss MMMMeeeettttaaaaKKKKeeeeyyyyMMMMaaaasssskkkk]]]]
  1401.           This mask is matched against the XKeyEvent.state to determine if
  1402.           xwsh should set the high bit in the byte for single character key
  1403.           strings.  The default value is 0.
  1404.  
  1405.      ppppiiiicccckkkkiiiinnnnggggIIIInnnnsssseeeetttt [[[[ccccllllaaaassssssss PPPPiiiicccckkkkiiiinnnnggggIIIInnnnsssseeeetttt]]]]
  1406.           This value is used as the width of the gap between the scroll bar
  1407.           (if any) and the tty region of xwsh.
  1408.  
  1409.      rrrreeeettttaaaaiiiinnnnLLLLiiiimmmmiiiitttt [[[[ccccllllaaaassssssss RRRReeeettttaaaaiiiinnnnLLLLiiiimmmmiiiitttt]]]]
  1410.           This integer value defines the number of lines of data to retain.
  1411.           See the -sl option for more information.
  1412.  
  1413.      uuuunnnnddddeeeerrrrlllliiiinnnneeeeOOOOffffffffsssseeeetttt [[[[ccccllllaaaassssssss UUUUnnnnddddeeeerrrrlllliiiinnnneeeeOOOOffffffffsssseeeetttt]]]]
  1414.           Define the number of pixels below the baseline that xwsh will draw
  1415.           the underline.  This value will be limited against the fonts maximum
  1416.           descender.
  1417.  
  1418. XXXXWWWWSSSSHHHH SSSSTTTTRRRRIIIINNNNGGGG RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
  1419.      xwsh supports the following string resources.
  1420.  
  1421.      aaaannnncccchhhhoooorrrrPPPPooooiiiinnnntttt [[[[ccccllllaaaassssssss AAAAnnnncccchhhhoooorrrrPPPPooooiiiinnnntttt]]]]
  1422.           Define the anchor point that xwsh uses when resizing itself from an
  1423.           escape sequence or its own size menu.  See the -anchor option for
  1424.           more information.
  1425.  
  1426.      bbbbaaaacccckkkkggggrrrroooouuuunnnndddd [[[[ccccllllaaaassssssss BBBBaaaacccckkkkggggrrrroooouuuunnnndddd]]]]
  1427.           Define the background color for xwsh.
  1428.  
  1429.      bbbbaaaarrrrPPPPooooiiiinnnntttteeeerrrrCCCCoooolllloooorrrrBBBBaaaacccckkkkggggrrrroooouuuunnnndddd [[[[ccccllllaaaassssssss BBBBaaaacccckkkkggggrrrroooouuuunnnndddd]]]]
  1430.           Define the background color of the pointer when its over the scroll
  1431.           bar.
  1432.  
  1433.      bbbbaaaarrrrPPPPooooiiiinnnntttteeeerrrrCCCCoooolllloooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd [[[[ccccllllaaaassssssss FFFFoooorrrreeeeggggrrrroooouuuunnnndddd]]]]
  1434.           Define the foreground color of the pointer when its over the scroll
  1435.           bar.
  1436.  
  1437.      bbbbaaaarrrrPPPPooooiiiinnnntttteeeerrrrSSSShhhhaaaappppeeee [[[[ccccllllaaaassssssss CCCCuuuurrrrssssoooorrrr]]]]
  1438.           Define the shape of the cursor to use when the pointer is over the
  1439.           scroll bar (not the arrows!).
  1440.  
  1441.      bbbboooollllddddCCCCoooolllloooorrrr [[[[ccccllllaaaassssssss BBBBoooollllddddCCCCoooolllloooorrrr]]]]
  1442.           Define the bold color for xwsh.
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.                                                                        PPPPaaaaggggeeee 22222222
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1457.  
  1458.  
  1459.  
  1460.      bbbboooollllddddFFFFoooonnnntttt [[[[ccccllllaaaassssssss FFFFoooonnnntttt]]]]
  1461.           Sets the bold font for xwsh to use.
  1462.  
  1463.      bbbboooollllddddIIIIttttaaaalllliiiiccccoooonnnntttt [[[[ccccllllaaaassssssss FFFFoooonnnntttt]]]]
  1464.           Sets the bold italic for xwsh to use.
  1465.  
  1466.      cccchhhhaaaarrrrCCCCllllaaaassssssss [[[[ccccllllaaaassssssss CCCChhhhaaaarrrrCCCCllllaaaassssssss]]]]
  1467.           Define changes to the character class table used by double click.
  1468.  
  1469.      cccckkkkmmmmeeeeKKKKeeeeyyyyMMMMaaaapppp [[[[ccccllllaaaassssssss CCCCkkkkmmmmeeeeKKKKeeeeyyyyMMMMaaaapppp]]]]
  1470.           This resource defines the key mappings that are applied when the
  1471.           cursor key mode enable escape sequence is received.
  1472.  
  1473.      cccckkkkmmmmddddKKKKeeeeyyyyMMMMaaaapppp [[[[ccccllllaaaassssssss CCCCkkkkmmmmddddKKKKeeeeyyyyMMMMaaaapppp]]]]
  1474.           This resource defines the key mappings that are applied when the
  1475.           cursor key mode disable escape sequence is received.
  1476.  
  1477.      ccccuuuurrrrssssoooorrrrPPPPaaaaggggeeeeCCCCoooolllloooorrrr [[[[ccccllllaaaassssssss CCCCuuuurrrrssssoooorrrrBBBBaaaacccckkkkggggrrrroooouuuunnnndddd]]]]
  1478.           Define the cursor page color for xwsh.
  1479.  
  1480.      ccccuuuurrrrssssoooorrrrTTTTeeeexxxxttttCCCCoooolllloooorrrr [[[[ccccllllaaaassssssss CCCCuuuurrrrssssoooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd]]]]
  1481.           Define the cursor text color for xwsh.
  1482.  
  1483.      ddddeeeeccccAAAAsssscccciiiiiiiiFFFFoooonnnntttt [[[[ccccllllaaaassssssss DDDDeeeeccccAAAAsssscccciiiiiiiiFFFFoooonnnntttt]]]]
  1484.           Define the font to use for regular ascii text  when xwsh is in vt100
  1485.           mode.
  1486.  
  1487.      ddddeeeeccccGGGGrrrraaaapppphhhhiiiiccccssssFFFFoooonnnntttt [[[[ccccllllaaaassssssss DDDDeeeeccccGGGGrrrraaaapppphhhhiiiiccccssssFFFFoooonnnntttt]]]]
  1488.           Define the font to use for graphics characters when xwsh is in vt100
  1489.           mode.
  1490.  
  1491.      ddddiiiissssppppllllaaaayyyy [[[[ccccllllaaaassssssss DDDDiiiissssppppllllaaaayyyy]]]]
  1492.           This resource is the value of the -display command line options
  1493.           argument.
  1494.  
  1495.      ffffiiiilllltttteeeerrrrCCCCmmmmdddd1111 [[[[ccccllllaaaassssssss FFFFiiiilllltttteeeerrrrCCCCmmmmdddd1111]]]]
  1496.           This is the command that is executed when the corresponding
  1497.           DoFilter1 action happens.  Any %s in the string is replaced with the
  1498.           currently selected text.  The string is passed to a shell (/bin/sh)
  1499.           and so may contain pipelines, redirection, etc.
  1500.  
  1501.      ffffiiiilllltttteeeerrrrCCCCmmmmdddd2222 [[[[ccccllllaaaassssssss FFFFiiiilllltttteeeerrrrCCCCmmmmdddd2222]]]]
  1502.           This is the command that is executed when the corresponding
  1503.           DoFilter2 action happens.  Any %s in the string is replaced with the
  1504.           currently selected text.  The string is passed to a shell (/bin/sh)
  1505.           and so may contain pipelines, redirection, etc.
  1506.  
  1507.      ffffiiiilllltttteeeerrrrCCCCmmmmdddd3333 [[[[ccccllllaaaassssssss FFFFiiiilllltttteeeerrrrCCCCmmmmdddd3333]]]]
  1508.           This is the command that is executed when the corresponding
  1509.           DoFilter3 action happens.  Any %s in the string is replaced with the
  1510.           currently selected text.  The string is passed to a shell (/bin/sh)
  1511.           and so may contain pipelines, redirection, etc.
  1512.  
  1513.  
  1514.  
  1515.                                                                        PPPPaaaaggggeeee 22223333
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1523.  
  1524.  
  1525.  
  1526.      ffffoooonnnntttt [[[[ccccllllaaaassssssss FFFFoooonnnntttt]]]]
  1527.           Sets the primary rendition font for xwsh to use.
  1528.  
  1529.      ffffoooorrrreeeeggggrrrroooouuuunnnndddd [[[[ccccllllaaaassssssss FFFFoooorrrreeeeggggrrrroooouuuunnnndddd]]]]
  1530.           Define the foreground color for xwsh.
  1531.  
  1532.      ggggeeeeoooommmmeeeettttrrrryyyy [[[[ccccllllaaaassssssss GGGGeeeeoooommmmeeeettttrrrryyyy]]]]
  1533.           This string specifies the columns rows and starting position for
  1534.           xwsh in standard x form.
  1535.  
  1536.      hhhhaaaallllffffCCCCoooolllloooorrrr [[[[ccccllllaaaassssssss HHHHaaaallllffffCCCCoooolllloooorrrr]]]]
  1537.           Define the half intensity color for xwsh.
  1538.  
  1539.      iiiiccccoooonnnnTTTTiiiittttlllleeee [[[[ccccllllaaaassssssss TTTTiiiittttlllleeee]]]]
  1540.           Defines the title of the icon window if the window manager provides
  1541.           icon title decorations.
  1542.  
  1543.      iiiinnnniiiittttSSSSeeeeqqqquuuueeeennnncccceeee [[[[ccccllllaaaassssssss IIIInnnniiiittttSSSSeeeeqqqquuuueeeennnncccceeee]]]]
  1544.           This resource provides a string which will be interpreted by xwsh
  1545.           after all other initialization but before any output from the pty is
  1546.           received.  The string can contain escape sequences.
  1547.  
  1548.      iiiittttaaaalllliiiiccccFFFFoooonnnntttt [[[[ccccllllaaaassssssss FFFFoooonnnntttt]]]]
  1549.           Sets the italic font for xwsh to use.
  1550.  
  1551.      kkkkeeeeyyyybbbbooooaaaarrrrddddTTTTyyyyppppeeee [[[[ccccllllaaaassssssss KKKKeeeeyyyybbbbooooaaaarrrrddddTTTTyyyyppppeeee]]]]
  1552.           Define the keyboard type for xwsh to emulate. iiiibbbbmmmmrrrrtttt and xxxxlllliiiibbbb are the
  1553.           only choices.
  1554.  
  1555.      kkkkeeeeyyyyMMMMaaaappppFFFFiiiilllleeee [[[[ccccllllaaaassssssss KKKKeeeeyyyyMMMMaaaappppFFFFiiiilllleeee]]]]
  1556.           This resource specifies the name of the key map file.
  1557.  
  1558.      kkkkeeeeyyyyMMMMaaaappppppppiiiinnnngggg0000 [[[[ccccllllaaaassssssss KKKKeeeeyyyyMMMMaaaappppppppiiiinnnngggg0000]]]]
  1559.           Define first key mappings.  These mappings are applied before any
  1560.           others unless a key map file is used and keyMapFileAfter is FALSE.
  1561.  
  1562.      kkkkeeeeyyyyMMMMaaaappppppppiiiinnnngggg1111 [[[[ccccllllaaaassssssss KKKKeeeeyyyyMMMMaaaappppppppiiiinnnngggg1111]]]]
  1563.           Define second key mappings.  These mappings are applied after
  1564.           keyMapping0.
  1565.  
  1566.      kkkkeeeeyyyyMMMMaaaappppppppiiiinnnngggg2222 [[[[ccccllllaaaassssssss KKKKeeeeyyyyMMMMaaaappppppppiiiinnnngggg2222]]]]
  1567.           Define third key mappings.  These mappings are applied after
  1568.           keyMapping1.
  1569.  
  1570.      kkkkppppaaaammmmKKKKeeeeyyyyMMMMaaaapppp [[[[ccccllllaaaassssssss KKKKppppaaaammmmKKKKeeeeyyyyMMMMaaaapppp]]]]
  1571.           This resource defines the key mappings that are applied when the
  1572.           keypad application mode escape sequence is received.
  1573.  
  1574.      kkkkppppnnnnmmmmKKKKeeeeyyyyMMMMaaaapppp [[[[ccccllllaaaassssssss KKKKppppnnnnmmmmKKKKeeeeyyyyMMMMaaaapppp]]]]
  1575.           This resource defines the key mappings that are applied when the
  1576.           keypad normal mode escape sequence is received.
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                                                        PPPPaaaaggggeeee 22224444
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1589.  
  1590.  
  1591.  
  1592.      mmmmiiiinnnnSSSSiiiizzzzeeee [[[[ccccllllaaaassssssss SSSSiiiizzzzeeee]]]]
  1593.           This string specifies the minimum size, subject to xwsh's own
  1594.           minimum constraints for the xwsh window.  The string contains either
  1595.           two comma separated values which specify the columns and rows, or
  1596.           "x" separated values which specify the rows and columns.
  1597.  
  1598.      mmmmaaaaxxxxSSSSiiiizzzzeeee [[[[ccccllllaaaassssssss SSSSiiiizzzzeeee]]]]
  1599.           This string specifies the maximum size.  The contents are parsed the
  1600.           same as the minSize string.
  1601.  
  1602.      ppppooooiiiinnnntttteeeerrrrCCCCoooolllloooorrrrBBBBaaaacccckkkkggggrrrroooouuuunnnndddd [[[[ccccllllaaaassssssss BBBBaaaacccckkkkggggrrrroooouuuunnnndddd]]]]
  1603.           Define the background color of the pointer.
  1604.  
  1605.      ppppooooiiiinnnntttteeeerrrrCCCCoooolllloooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd [[[[ccccllllaaaassssssss FFFFoooorrrreeeeggggrrrroooouuuunnnndddd]]]]
  1606.           Define the foreground color of the pointer.
  1607.  
  1608.      ppppooooiiiinnnntttteeeerrrrSSSShhhhaaaappppeeee [[[[ccccllllaaaassssssss CCCCuuuurrrrssssoooorrrr]]]]
  1609.           This string defines the name of a cursor to use for the pointer when
  1610.           the pointer is over the tty portion of the xwsh window.
  1611.  
  1612.      sssseeeelllleeeeccccttttiiiioooonnnnPPPPaaaaggggeeeeCCCCoooolllloooorrrr [[[[ccccllllaaaassssssss SSSSeeeelllleeeeccccttttiiiioooonnnnBBBBaaaacccckkkkggggrrrroooouuuunnnndddd]]]]
  1613.           Define the selection page color for xwsh.
  1614.  
  1615.      sssseeeelllleeeeccccttttDDDDoooowwwwnnnnMMMMaaaapppp [[[[ccccllllaaaassssssss SSSSeeeelllleeeeccccttttDDDDoooowwwwnnnnMMMMaaaapppp]]]]
  1616.           The list of mappings that apply when modifier keys are held during a
  1617.           select (left) button down event.
  1618.  
  1619.      sssseeeelllleeeeccccttttDDDDrrrraaaaggggMMMMaaaapppp [[[[ccccllllaaaassssssss SSSSeeeelllleeeeccccttttDDDDrrrraaaaggggMMMMaaaapppp]]]]
  1620.           The list of mappings that apply when modifier keys are held during a
  1621.           select (left) button drag event (while the button is still down).
  1622.  
  1623.      sssseeeelllleeeeccccttttUUUUppppMMMMaaaapppp [[[[ccccllllaaaassssssss SSSSeeeelllleeeeccccttttUUUUppppMMMMaaaapppp]]]]
  1624.           The list of mappings that apply when modifier keys are held during a
  1625.           select (left) button up (released) event.
  1626.  
  1627.      sssseeeelllleeeeccccttttiiiioooonnnnTTTTeeeexxxxttttCCCCoooolllloooorrrr [[[[ccccllllaaaassssssss SSSSeeeelllleeeeccccttttiiiioooonnnnFFFFoooorrrreeeeggggrrrroooouuuunnnndddd]]]]
  1628.           Define the selection text color for xwsh.
  1629.  
  1630.      ttttrrrraaaannnnssssiiiieeeennnnttttFFFFoooorrrr [[[[ccccllllaaaassssssss TTTTrrrraaaannnnssssiiiieeeennnnttttFFFFoooorrrr]]]]
  1631.           This resource defines a window that xwsh will become the transient
  1632.           for.  If set to ``root'' then xwsh will become the transient for the
  1633.           root window.
  1634.  
  1635.      wwwwiiiinnnnddddoooowwwwTTTTiiiittttlllleeee [[[[ccccllllaaaassssssss TTTTiiiittttlllleeee]]]]
  1636.           Defines the title of the xwsh window, if the window manager provides
  1637.           title decorations.
  1638.  
  1639. BBBBUUUUGGGGSSSS
  1640.      If you change the instance-name using the ----nnnnaaaammmmeeee option, you can confuse
  1641.      xwsh by globally setting the background, foreground, or font.  That is,
  1642.      if you use ----nnnnaaaammmmeeee ffffoooooooo then do not include lines like
  1643.  
  1644.  
  1645.  
  1646.  
  1647.                                                                        PPPPaaaaggggeeee 22225555
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. XXXXWWWWSSSSHHHH((((1111GGGG))))                                                              XXXXWWWWSSSSHHHH((((1111GGGG))))
  1655.  
  1656.  
  1657.  
  1658.      ffffoooooooo****bbbbaaaacccckkkkggggrrrroooouuuunnnndddd:::: ggggrrrreeeeeeeennnn
  1659.  
  1660.      ffffoooooooo****ffffoooorrrreeeeggggrrrroooouuuunnnndddd:::: rrrreeeedddd
  1661.  
  1662.      ffffoooooooo****ffffoooonnnntttt:::: mmmmyyyyccccuuuussssttttoooommmmffffoooonnnntttt
  1663.  
  1664.      Instead, use
  1665.  
  1666.      ffffoooooooo....bbbbaaaacccckkkkggggrrrroooouuuunnnndddd:::: ggggrrrreeeeeeeennnn
  1667.  
  1668.      ffffoooooooo....ffffoooorrrreeeeggggrrrroooouuuunnnndddd:::: rrrreeeedddd
  1669.  
  1670.      ffffoooooooo....ffffoooonnnntttt:::: mmmmyyyyccccuuuussssttttoooommmmffffoooonnnntttt
  1671.  
  1672.      Do not expect the ----hhhhoooolllldddd option to work well with programs like _a_p_a_n_e_l
  1673.      that background themselves immediately.  Processes spawned by the child
  1674.      program are killed when the child dies.
  1675.  
  1676. FFFFIIIILLLLEEEESSSS
  1677.      /usr/lib/X11/app-defaults/XWsh
  1678.      $HOME/.wshttymode
  1679.  
  1680. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1681.      bindkey(1), stty(1)
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.                                                                        PPPPaaaaggggeeee 22226666
  1714.  
  1715.  
  1716.  
  1717.